package com.example.phoneshop.service;

import com.example.phoneshop.entity.Address;
import com.example.phoneshop.entity.Order;
import com.example.phoneshop.entity.OrderPage;

import java.util.List;

/**
 * @author nozomi
 * @date 2018/7/8 17:03
 * @description
 */
public interface OrderService {
    /**
     * 添加订单
     * @param order
     */
  void addOrder(Order order);

    /**
     * 添加收货地址
     * @param address
     */
  void addAddress(Address address);

    /**
     * 更改收货地址
     * @param address
     */
  void updateAddress(Address address);

    /**
     * 根据用户名查找地址
     * @param username
     * @return
     */
  Address selectAddrByName(String username);

  /**
   * 根据id查找订单
   * @param id
   * @return
   */
  Order selectById(int id);

  /**
   * 分页查询
   * @param currentPage
   * @return
   */
  OrderPage<Order> findOrderByPage(int currentPage);

  /**
   * 查看我的订单
   * @param username
   * @return
   */
  List<Order> getMyOrders(String username);

  /**
   * 更新订单状态
   * @param order
   */
  void updateState(Order order);
}
